home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Bank smakow / BankSmakow.air / BankSmakow.swf / scripts / mx / effects / CompositeEffect.as < prev    next >
Text File  |  2009-12-16  |  8KB  |  256 lines

  1. package mx.effects
  2. {
  3.    import mx.core.mx_internal;
  4.    import mx.effects.effectClasses.CompositeEffectInstance;
  5.    import mx.effects.effectClasses.PropertyChanges;
  6.    
  7.    use namespace mx_internal;
  8.    
  9.    public class CompositeEffect extends Effect
  10.    {
  11.       
  12.       mx_internal static const VERSION:String = "3.5.0.12683";
  13.        
  14.       
  15.       private var _affectedProperties:Array;
  16.       
  17.       private var childTargets:Array;
  18.       
  19.       public var children:Array;
  20.       
  21.       public function CompositeEffect(param1:Object = null)
  22.       {
  23.          children = [];
  24.          super(param1);
  25.          instanceClass = CompositeEffectInstance;
  26.       }
  27.       
  28.       override public function createInstances(param1:Array = null) : Array
  29.       {
  30.          if(!param1)
  31.          {
  32.             param1 = this.targets;
  33.          }
  34.          childTargets = param1;
  35.          var _loc2_:IEffectInstance = createInstance();
  36.          childTargets = null;
  37.          return !!_loc2_ ? [_loc2_] : [];
  38.       }
  39.       
  40.       override protected function initInstance(param1:IEffectInstance) : void
  41.       {
  42.          var _loc4_:int = 0;
  43.          var _loc5_:int = 0;
  44.          var _loc6_:Effect = null;
  45.          super.initInstance(param1);
  46.          var _loc2_:CompositeEffectInstance = CompositeEffectInstance(param1);
  47.          var _loc3_:Object = childTargets;
  48.          if(!(_loc3_ is Array))
  49.          {
  50.             _loc3_ = [_loc3_];
  51.          }
  52.          if(children)
  53.          {
  54.             _loc4_ = children.length;
  55.             _loc5_ = 0;
  56.             while(_loc5_ < _loc4_)
  57.             {
  58.                _loc6_ = children[_loc5_];
  59.                if(mx_internal::propertyChangesArray != null)
  60.                {
  61.                   _loc6_.propertyChangesArray = mx_internal::propertyChangesArray;
  62.                }
  63.                if(_loc6_.filterObject == null && mx_internal::filterObject)
  64.                {
  65.                   _loc6_.filterObject = mx_internal::filterObject;
  66.                }
  67.                if(effectTargetHost)
  68.                {
  69.                   _loc6_.effectTargetHost = effectTargetHost;
  70.                }
  71.                if(_loc6_.targets.length == 0)
  72.                {
  73.                   _loc2_.addChildSet(children[_loc5_].createInstances(_loc3_));
  74.                }
  75.                else
  76.                {
  77.                   _loc2_.addChildSet(children[_loc5_].createInstances(_loc6_.targets));
  78.                }
  79.                _loc5_++;
  80.             }
  81.          }
  82.       }
  83.       
  84.       override mx_internal function captureValues(param1:Array, param2:Boolean) : Array
  85.       {
  86.          var _loc5_:Effect = null;
  87.          var _loc3_:int = children.length;
  88.          var _loc4_:int = 0;
  89.          while(_loc4_ < _loc3_)
  90.          {
  91.             param1 = (_loc5_ = children[_loc4_]).captureValues(param1,param2);
  92.             _loc4_++;
  93.          }
  94.          return param1;
  95.       }
  96.       
  97.       public function addChild(param1:IEffect) : void
  98.       {
  99.          children.push(param1);
  100.          _affectedProperties = null;
  101.       }
  102.       
  103.       override mx_internal function applyStartValues(param1:Array, param2:Array) : void
  104.       {
  105.          var _loc5_:Effect = null;
  106.          var _loc6_:Array = null;
  107.          var _loc3_:int = children.length;
  108.          var _loc4_:int = 0;
  109.          while(_loc4_ < _loc3_)
  110.          {
  111.             _loc6_ = (_loc5_ = children[_loc4_]).targets.length > 0 ? _loc5_.targets : param2;
  112.             if(_loc5_.filterObject == null && mx_internal::filterObject)
  113.             {
  114.                _loc5_.filterObject = mx_internal::filterObject;
  115.             }
  116.             _loc5_.applyStartValues(param1,_loc6_);
  117.             _loc4_++;
  118.          }
  119.       }
  120.       
  121.       override public function createInstance(param1:Object = null) : IEffectInstance
  122.       {
  123.          if(!childTargets)
  124.          {
  125.             childTargets = [param1];
  126.          }
  127.          var _loc2_:IEffectInstance = super.createInstance(param1);
  128.          childTargets = null;
  129.          return _loc2_;
  130.       }
  131.       
  132.       override protected function filterInstance(param1:Array, param2:Object) : Boolean
  133.       {
  134.          var _loc3_:Array = null;
  135.          var _loc4_:int = 0;
  136.          var _loc5_:int = 0;
  137.          if(mx_internal::filterObject)
  138.          {
  139.             _loc3_ = targets;
  140.             if(_loc3_.length == 0)
  141.             {
  142.                _loc3_ = childTargets;
  143.             }
  144.             _loc4_ = _loc3_.length;
  145.             _loc5_ = 0;
  146.             while(_loc5_ < _loc4_)
  147.             {
  148.                if(mx_internal::filterObject.filterInstance(param1,effectTargetHost,_loc3_[_loc5_]))
  149.                {
  150.                   return true;
  151.                }
  152.                _loc5_++;
  153.             }
  154.             return false;
  155.          }
  156.          return true;
  157.       }
  158.       
  159.       override public function captureStartValues() : void
  160.       {
  161.          var _loc1_:Array = getChildrenTargets();
  162.          propertyChangesArray = [];
  163.          var _loc2_:int = _loc1_.length;
  164.          var _loc3_:int = 0;
  165.          while(_loc3_ < _loc2_)
  166.          {
  167.             mx_internal::propertyChangesArray.push(new PropertyChanges(_loc1_[_loc3_]));
  168.             _loc3_++;
  169.          }
  170.          propertyChangesArray = captureValues(mx_internal::propertyChangesArray,true);
  171.          endValuesCaptured = false;
  172.       }
  173.       
  174.       private function getChildrenTargets() : Array
  175.       {
  176.          var _loc3_:Array = null;
  177.          var _loc4_:Effect = null;
  178.          var _loc5_:int = 0;
  179.          var _loc6_:int = 0;
  180.          var _loc7_:int = 0;
  181.          var _loc8_:int = 0;
  182.          var _loc9_:* = null;
  183.          var _loc1_:Array = [];
  184.          var _loc2_:Object = {};
  185.          _loc5_ = children.length;
  186.          _loc6_ = 0;
  187.          while(_loc6_ < _loc5_)
  188.          {
  189.             if((_loc4_ = children[_loc6_]) is CompositeEffect)
  190.             {
  191.                _loc3_ = CompositeEffect(_loc4_).getChildrenTargets();
  192.                _loc7_ = _loc3_.length;
  193.                _loc8_ = 0;
  194.                while(_loc8_ < _loc7_)
  195.                {
  196.                   if(_loc3_[_loc8_] != null)
  197.                   {
  198.                      _loc2_[_loc3_[_loc8_].toString()] = _loc3_[_loc8_];
  199.                   }
  200.                   _loc8_++;
  201.                }
  202.             }
  203.             else if(_loc4_.targets != null)
  204.             {
  205.                _loc7_ = _loc4_.targets.length;
  206.                _loc8_ = 0;
  207.                while(_loc8_ < _loc7_)
  208.                {
  209.                   if(_loc4_.targets[_loc8_] != null)
  210.                   {
  211.                      _loc2_[_loc4_.targets[_loc8_].toString()] = _loc4_.targets[_loc8_];
  212.                   }
  213.                   _loc8_++;
  214.                }
  215.             }
  216.             _loc6_++;
  217.          }
  218.          _loc5_ = targets.length;
  219.          _loc6_ = 0;
  220.          while(_loc6_ < _loc5_)
  221.          {
  222.             if(targets[_loc6_] != null)
  223.             {
  224.                _loc2_[targets[_loc6_].toString()] = targets[_loc6_];
  225.             }
  226.             _loc6_++;
  227.          }
  228.          for(_loc9_ in _loc2_)
  229.          {
  230.             _loc1_.push(_loc2_[_loc9_]);
  231.          }
  232.          return _loc1_;
  233.       }
  234.       
  235.       override public function getAffectedProperties() : Array
  236.       {
  237.          var _loc1_:Array = null;
  238.          var _loc2_:int = 0;
  239.          var _loc3_:int = 0;
  240.          if(!_affectedProperties)
  241.          {
  242.             _loc1_ = [];
  243.             _loc2_ = children.length;
  244.             _loc3_ = 0;
  245.             while(_loc3_ < _loc2_)
  246.             {
  247.                _loc1_ = _loc1_.concat(children[_loc3_].getAffectedProperties());
  248.                _loc3_++;
  249.             }
  250.             _affectedProperties = _loc1_;
  251.          }
  252.          return _affectedProperties;
  253.       }
  254.    }
  255. }
  256.